package com.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pojo.QuestionBase;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;



public interface QuestionDAO extends BaseMapper<QuestionBase> {
    /**
     * 查询试题
     * @param page
     * @param m
     * @return
     */
    IPage searchQuestion(Page page, @Param("m") Map m);


    /**
     *  随机查询试题库中的各类试题
     * @param questionNum  试题数量
     * @param questionType 试题类型
     * @param chapter 科目章节id
     * @return
     */
    List randomQueryQuestion(@Param("questionNum") Integer questionNum , @Param("questionType") Integer questionType, @Param("chapter") Integer chapter);


    /**
     *  查询试卷中的题目
     * @param chapterID  章节id
     * @param questionType 题目类型
     * @param questionDifficulty  题目难度
     * @param questionNum  题目数量
     * @return
     */
    List queryQuestion(@Param("chapterID") Long chapterID , @Param("questionType") Integer questionType, @Param("questionDifficulty") Integer questionDifficulty ,@Param("questionNum") Integer questionNum);



    /**
     *  查所有的科目
     * @return
     */
    @Select("select subject_id,subject_name from `subject`")
    List<Map> subjects();

    /**
     *  查所有的科目章节
     * @return
     */
    @Select("select chapter_id,chapter_name,subject_id from chapter")
    List<Map> chapters();

}
